  const db = wx.cloud.database();
  const command = db.command;
  Page({
    /** 
     * 页面的初始数据 
     */
    data: {
      swiperTab: [{
          text: '全部报修',
        },
        {
          text: "已提交",
        },
        {
          text: '维修中',
        },
        {
          text: '已完成',
        },
      ],

      nowloginuser: '',

      swiperTabIndex: 0,
      Hei: '',
      alllist: [],
      submitlist: [],
      fixinglist: [],
      finishlist: [],

      // 下拉操作是否被触发
      triggered: false,

    },

    // 顶部导航的点击事件
    changeTab: function (event) {
      // console.log(event.target.dataset.index)
      this.setData({
        swiperTabIndex: event.target.dataset.index
      })
    },

    // 内容的切换事件
    changeContent: function (event) {
      // console.log(event)
      this.setData({
        swiperTabIndex: event.detail.current
      })
    },


    // 先从缓存读取当前登录的用户的opneid，并写入到data中
    getuserid: function () {
      wx.getStorage({
        key: 'nowlogin_user',
      }).then(res => {
        // console.log(res.data);
        this.setData({
          nowloginuser: res.data
        })
      })
    },

    // 从数据库拿到这个用户的所有的提交的维修记录，然后存到data中的alllist中
    get_fixinfo: function () {
      db.collection("fix_desc")
        .where({
          openid: this.data.nowloginuser
        })
        .orderBy("fix_submit_time", "desc")
        .get()
        .then(res => {
          // console.log(res.data);
          this.setData({
            alllist: res.data
          })
        })
    },

    // 从数据库拿到状态为已提交的内容，并存储到data中的submitlist数组中
    get_submitinfo: function () {
      db.collection("fix_desc")
        .where({
          openid: this.data.nowloginuser,
          fix_state: '已提交'
        })
        .get()
        .then(res => {
          // console.log(res.data);
          this.setData({
            submitlist: res.data
          })
        })

    },

    // 从数据库拿到状态是维修中的数据，并存储到data中的fixinglist数组中
    get_fixinginfo: function () {
      db.collection("fix_desc")
        .where({
          openid: this.data.nowloginuser,
          fix_state: '维修中'
        })
        .get()
        .then(res => {
          // console.log(res.data);
          this.setData({
            fixinglist: res.data
          })
        })
    },

    // 从数据库拿到状态是已完成的数据，并存储到data中的finishlist数组中
    get_finishinfo: function () {
      db.collection("fix_desc")
        .where({
          openid: this.data.nowloginuser,
          fix_state: '已完成'
        })
        .get()
        .then(res => {
          // console.log(res.data);
          this.setData({
            finishlist: res.data
          })
        })
    },

    //自定义下拉刷新控件被下拉 
    onPulling(e) {
      // console.log('onPulling:', e)
    },

    // 自定义下拉刷新被触发
    onRefresh() {
      if (this._freshing) return
      this._freshing = true
      setTimeout(() => {
        this.getuserid();
        this.get_fixinfo();
        this.get_submitinfo();
        this.get_fixinginfo();
        this.get_finishinfo();
        this.setData({
          triggered: false,
        })
        this._freshing = false
      }, 2000)
    },

    // 进入页面自动刷新
    onRefreshnow() {
      if (this._freshing) return
      this._freshing = true
      setTimeout(() => {
        this.getuserid();
        this.get_fixinfo();
        this.get_submitinfo();
        this.get_fixinginfo();
        this.get_finishinfo();
        this.setData({
          triggered: false,
        })
        this._freshing = false
      }, 100)
    },

    // 自定义下拉刷新被复位
    onRestore(e) {
      console.log('onRestore:', e)
    },

    // 自定义下拉刷新被中止
    onAbort(e) {
      console.log('onAbort', e)
    },

    // 点击查看详情的操作包括跳转等
    show_fixdetail: function (e) {
      // console.log(e.currentTarget.dataset.index);
      wx.setStorage({
        data: this.data.alllist[e.currentTarget.dataset.index],
        key: 'fix_descdetail',
      })
      wx.navigateTo({
        url: '../../pages/my_fixdesc/my_fixdesc',
      })
    },

    // 已提交列表中的点击查看详情页面
    show_submitdetail: function (e) {
      // console.log(e.currentTarget.dataset.index);
      wx.setStorage({
        data: this.data.submitlist[e.currentTarget.dataset.index],
        key: 'fix_descdetail',
      })
      wx.navigateTo({
        url: '../../pages/my_fixdesc/my_fixdesc',
      })
    },

    // 维修中列表的点击详情查看详情页面
    show_fixingdetail: function (e) {
      console.log(e.currentTarget.dataset.index);
      wx.setStorage({
        data: this.data.fixinglist[e.currentTarget.dataset.index],
        key: 'fix_descdetail',
      })
      wx.navigateTo({
        url: '../../pages/my_fixdesc/my_fixdesc',
      })
    },

    // 已完成列表中的点击查看详情的点击按钮
    show_finishdetail: function (e) {
      console.log(e.currentTarget.dataset.index);
      wx.setStorage({
        data: this.data.finishlist[e.currentTarget.dataset.index],
        key: 'fix_descdetail',
      })
      wx.navigateTo({
        url: '../../pages/my_fixdesc/my_fixdesc',
      })
    },

    // 在已提交界面点击取消订单来取消订单
    cancel_order: function (e) {
      console.log(e.currentTarget.dataset.index);
      console.log(this.data.submitlist[e.currentTarget.dataset.index]);
      var docid = this.data.submitlist[e.currentTarget.dataset.index]._id;
      var picfile = this.data.submitlist[e.currentTarget.dataset.index].fix_pic
      wx.showModal({
        title: '提示',
        content: "是否确认取消订单",
      }).then(res => {
        if (res.confirm) {
          wx.cloud.callFunction({
            name: 'update',
            data: {
              options: 'cancel_order',
              docid,
              picfile,
            }
          }).then(res => {
            console.log(res);
            this.onRefreshnow();
            wx.showToast({
              title: '取消订单成功',
              duration: 2000,
              mask: true
            })
          })
        } else if (res.cancel) {
          console.log("用户点击取消");
        }
      })
    },

    // 用户在全部订单界面点击立即评级
    evaluate_now: function (e) {
      console.log(e.currentTarget.dataset.index);
      console.log(this.data.alllist[e.currentTarget.dataset.index]);
      console.log(this.data.alllist[e.currentTarget.dataset.index].worker);
      wx.setStorage({
        data: this.data.alllist[e.currentTarget.dataset.index].worker,
        key: 'workername',
      })
      wx.navigateTo({
        url: '../../pages/evaluate/evaluate',
      })
    },

    // 用户在已完成界面点击立即评价
    evaluate_now1: function (e) {
      console.log(e.currentTarget.dataset.index);
      console.log(this.data.finishlist[e.currentTarget.dataset.index]);
      console.log(this.data.finishlist[e.currentTarget.dataset.index].worker);
      wx.setStorage({
        data: this.data.finishlist[e.currentTarget.dataset.index].worker,
        key: 'workername',
      })
      wx.navigateTo({
        url: '../../pages/evaluate/evaluate',
      })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
      this.onRefreshnow();
      this.getuserid();
      // this.get_fixinfo();
      // this.get_submitinfo();
      // this.get_fixinginfo();
      // this.get_finishinfo();
      // console.log(options)
      this.setData({
        swiperTabIndex: options.index,
        Hei: wx.getSystemInfoSync().windowHeight
      })

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {
      wx.switchTab({
        url: '../../pages/me/me',
      })
    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }


  })